home *** CD-ROM | disk | FTP | other *** search
/ Aminet 37 / Aminet 37 (2000)(Schatztruhe)[!][Jun 2000].iso / Aminet / dev / misc / AmiPalmDev.lha / AmiPalmDev.txt < prev    next >
Text File  |  2000-04-10  |  7KB  |  195 lines

  1.  
  2.                  AmiPalmDev
  3.                 ============
  4.  
  5. Version: 1.0
  6. James S Perrin: <j.perrin@mcc.ac.uk>
  7. Time-stamp: <Tuesday 04/04/00 23:45:14 nobody>
  8.  
  9.  
  10. Brief
  11.  
  12. The GNU package prc-tools-2.0 (in addition to other packages) allows
  13. you to develop programs for PalmPilot PDAs. This archive contains
  14. additional files and instructions to be able to build prc-tools-2.0
  15. under AmigaOS.
  16.  
  17.  
  18. Introduction
  19.  
  20. When I bought my PalmPilot (IIIx) one the reasons ws the thought of
  21. being able to write programs for it as I was aware of the GNU
  22. development package prc-tools. After compiling the development tools
  23. under Linux/m68k I wanted to try and get things working under
  24. AmigOS. After a lot of sweat and nearly giving up twice I was
  25. successful. Unfortunately I had no prior knowledge of how binutils or
  26. gcc was put together so for someone else it might have been less
  27. painful (especially with an 060 and plenty of memory). This file and
  28. the others are to result, it's not pretty but hopefully it'll work for
  29. you.
  30.  
  31. Prc-tools actually only supplies tools to assemble various pieces into
  32. Palm resource files (.prc) you additional need binutils, gcc and pilrc
  33. which creates the UI for your applications. In addition you'll need
  34. ths PalmOS SDK available from http://www.palm.com/devzone/
  35. . Follow the link for the GNU development for complete information
  36. though I'll give brief notes here aswell.
  37.  
  38.  
  39. System Requirements
  40.  
  41. An amiga you're happy is fast enough to compile binutils and gcc
  42. before you die of old age (my 030/50 took approx 15 hrs in total).
  43.  
  44. 20MB of memory and that may be cutting it fine (see below)
  45.  
  46. Geek Gadgets distribution including bison, flex and gcc/g++ 2.95.1 you
  47. can possibly use egc1.X but prc-tools contains C++ that doesn't
  48. compile under 2.7.X.
  49.  
  50. A Palm Pilot and link software unless you're insane.
  51.  
  52.  
  53. Nitty Gritty
  54.  
  55. Download to following files from the URL above: prc-tools-2.0.tar.gz -
  56. 2.1 may be availble when you read this which fixes some floating point
  57. errors prc-tools-samples.tar.gz - useful for testing it all works
  58. binutils-2.9.1.tar.gz gcc-2.95.2.tar.gz palmos_sdk-1-2-3.1.tar.gz
  59. palmos_sdk-3.5.tar.gz - only if you wish to use features in the latest
  60. PalmOS pilrc.tar.gz
  61.  
  62. Don't bother with the debugger gdb as you need a palmpilot emulator to
  63. make use of it.
  64.  
  65. o Unpacking and Patching
  66.  
  67. First uncompress prc-tools-2.0 into gg:local/palmdev, if you don't
  68. know how to uncompress gzipped tar files give up now ;). We basically
  69. follow the instructions in prc-tools-2.0/BUILDING.html so I'll just
  70. point out the differences.
  71.  
  72. Copy this file and *-amigaos-host.diff to prc-tools-2.0
  73.  
  74. When creating the link sdk use
  75.  
  76. > makelink sdk sdk-2 FORCE
  77.  
  78. and to prevent confusion add a filenote to the link
  79.  
  80. > filenote sdk "-->sdk-2"
  81.  
  82. I don't like links under amigaos but other than copying one of the
  83. sdk's there no other option.
  84.  
  85. Rather uncompressing binutils-2.9.2 and gcc-2.95.2 into palmdev and
  86. creating links from prc-tools-2.0 I prefer to uncompress into
  87. prc-tools-2.0 and rename them to binutils and gcc respectively. Links
  88. under AmigaOS are confusing, but it's up to you. Also create empty
  89. directorys gdb and make to keep the configure script happy
  90.  
  91. Assuming you've done as I have apply the palmos diffs
  92.  
  93. > cd binutils
  94. > patch -p1 < /binutils-2.9.1-palmos.diff
  95. > cd /gcc
  96. > patch -p1 < /gcc-2.9.2-palmos.diff
  97.  
  98. These should apply completely cleanly
  99.  
  100. Now apply the AmigaOS host diffs
  101.  
  102. > cd binutils
  103. > patch -p3 < /binutils-amigos-host.diff
  104. > cd /gcc
  105. > patch -p0< /gcc-amigaos-host.diff
  106.  
  107. These should allow apply with a few warnings that offsets had to be
  108. applied (see below for explanation)
  109.  
  110. Some c files are generated by bison and flex though they are in the
  111. archives they need to be regenerated because their *.y files have been
  112. patched. Do this by simply deleting them, the makefiles will recreate
  113. them later.
  114.  
  115. > delete binutils/gas/m68k_parse.c
  116. > delete binutils/binutils/arparse.c
  117. > delete binutils/binutils/arlex.c
  118. > delete gcc/gcc/c_parse.c
  119.  
  120. o Configuring
  121.  
  122. You should be ready to run the configure script from the build
  123. directory now. To be on the save side I run configure scripts and
  124. makefiles from a sh shell as it understands UN*X style paths etc.
  125.  
  126. If the amiga host diff where applied correctly the first thing they
  127. should do is allow the configuration to find the host and build
  128. enviroment as m68k-unknown-amigaos
  129.  
  130. o Building and Installing
  131.  
  132. Follow the instructions in the docs but make sure that you have
  133. /usr/local/bin in sh's path as binutils are installed here which gcc
  134. needs. This will probably be different from the path set under
  135. AmigaOS, check with
  136.  
  137. sh> echo $PATH
  138.  
  139. if /usr/local/bin doesn't appear
  140.  
  141. sh> export PATH=$PATH:/usr/local/bin
  142.  
  143. (USR: should be assigned to GG: as so appear to GNU tools as /usr for
  144. compatiblity with UN*X)
  145.  
  146. Hopefully everything should compile and install OK but it will take
  147. ages so it's more of a case of going and have a life than making a cup
  148. of tea.
  149.  
  150. o Possible things that will $%@$! up
  151.  
  152. docs make fail the compile and instal unless you have all to correct
  153. makeinfo texi2* programs if your not bother (they're the same as the
  154. original docs mostly) you can happy ignore these errors and carry on
  155. with the next make/install as they always are the last thing in the
  156. list the do.
  157.  
  158. Despite the fixinc fix specified in to docs I still had make all-gcc
  159. failing because of problems with this. Performing a
  160.  
  161. sh> touch build/gcc/gcc/fixinc/stmp-fixinc
  162.  
  163. stops it from bothering
  164.  
  165.  
  166. Final Words
  167.  
  168. As I mentioned in the introduction it was a pain getting this working
  169. such as it is, mainly because the amiga support required had to be
  170. taken from the GeekGadget diffs for the amiga versions of binutils and
  171. gcc. These are not small and are 95% concerned with amigaos as the
  172. target. This required compiling until something fell over and they
  173. trying to find the patch in 300k of diffs that would fix it. Also
  174. diffs were only available at the time for gcc-2.95.1 which may have
  175. caused some problems.
  176.  
  177. Second thing is I mentioned is you need >=20MB of memory this is
  178. because my machine has only 18MB! Everything compiles except cc1plus
  179. which I can't get to link together and so I don't have C++ available
  180. under AmigaOS. This is especially annoying as one of the main programs
  181. I wished to port was written in C++.
  182.      "I would therefore be very grateful if someone manages to follow
  183. my ramblings words they could send me this file."
  184.  
  185. It's highly likely I forgotten to mention something so if you run into
  186. problems let me know as it may jog my memory - I made very rough notes
  187. on my progress and I haven't done a recompile from scratch with these
  188. as it takes too long and I like to get out into the sunshine now and
  189. again :)
  190.  
  191. Hopefully these files should be of use and I look forward the seeing
  192. "Built On Amiga" logos all over PalmGear!
  193.  
  194.  
  195.